package vaccine.appointment.system.vaccine.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalDate;

/**
 * 更新疫苗请求
 */
@Data
public class UpdateVaccineRequest {
    /**
     * 疫苗名称
     */
    @NotBlank(message = "疫苗名称不能为空")
    private String name;

    /**
     * 疫苗类型
     * 0--普通疫苗
     * 1--儿童疫苗
     * 2--成人疫苗
     */
    @NotNull(message = "疫苗类型不能为空")
    private Integer type;

    /**
     * 适用年龄段
     */
    @NotNull(message = "适用年龄段不能为空")
    private String applicableAgeGroup;

    /**
     * 生产厂家
     */
    @NotBlank(message = "生产厂家不能为空")
    private String manufacturer;

    /**
     * 生产日期
     */
    @NotNull(message = "生产日期不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate productionDate;

    /**
     * 过期日期
     */
    @NotNull(message = "过期日期不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate expirationDate;
}

